package week02;

public class T014 {
//	public static int num=1000000;
//	public static void main(String[] args) {
//		long[] a = new long [num+1];
//		long x;
//		int i;
//		long max=0,flag=0;
//		for(i=2;i<=num;i++) {
//			x=i;
//			long n=1;
//			while(x!=1) {
//				if(x<i) {
//					n=n+a[(int) x]-1;
//					break;
//				}
//				if(x%2==0) {
//					x/=2;
//					n++;
//				}else if(x%2!=0){
//					x=(3*x+1)/2;
//					n+=2;
//				}
//			}
//			a[i]=n;
//			if(n>max) {
//				max=n;
//				flag=i;
//			}
//		}
//		System.out.println(flag);
//
//	}
	
	public static int m=1000000;
	public static void main(String[] args) {
		long[] num = new long[m+1];
		long max=0;
		int flag=0;
		for(int i=1;i<=m;i++) {
			long n=1;
			long x = i;
		while(x!=1) {
			if(x<i) {
				n=n+num[(int) x]-1;
				break;
			}
			if((x&1)==0) {
				x/=2;
				n++;
			}else {
				x=(3*x+1)/2;
				n+=2;
			}
		}
		num[i]=n;
		if(n>max) {
			max=n;
			flag=i;
		}
		}
		System.out.println(flag);
	}
	

}
